package com.zx.notification.consumer.config;

import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;

/**
 * Kafka消费者配置类
 * 用于读取和管理Kafka消费者相关的配置参数
 */
@RefreshScope // 支持Nacos的动态刷新功能
@Configuration
@Getter
public class KafkaConsumerConfig {
    /**
     * Kafka是否启用，控制是否启用Kafka消息队列功能
     */
    @Value("${spring.kafka.enabled:true}")
    private boolean kafkaEnabled;

    /**
     * Kafka服务器地址列表，用于连接Kafka集群
     */
    @Value("${spring.kafka.bootstrap-servers}")
    private String bootstrapServers;

    // Consumer配置
    /**
     * Kafka消费者组ID，用于标识消费者属于哪个消费者组
     */
    @Value("${spring.kafka.consumer.group-id}")
    private String consumerGroupId;

    /**
     * Kafka消费者偏移量重置策略，当没有初始偏移量或当前偏移量不存在时的处理策略
     */
    @Value("${spring.kafka.consumer.auto-offset-reset}")
    private String consumerAutoOffsetReset;

    /**
     * Kafka消费者是否启用自动提交，控制消费者偏移量是否自动提交
     */
    @Value("${spring.kafka.consumer.enable-auto-commit}")
    private boolean consumerEnableAutoCommit;


}